/*
 * TacticaDemo01.java
 *
 * Created on 16 de julio de 2006, 13:20
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package futbol.tacticas.concursantes2007.DaniCampeon;

import futbol.tacticas.concursantes.Tactica;



/**
 * Esta clase implementa la "TacticaDaniDefensa", as como las funciones 
 * necesarias para su ejecucin.
 * 
 * @author Daniel Peired
 */
public class TacticaDaniD extends TacticaDaniN implements Tactica
//public class TacticaDaniDefensa extends TacticaDaniInfo implements Tactica
{

  //---------------------------------------------//
  // VALORES INICIALES
  //---------------------------------------------//
	
	/*
	 * Definicin de los Jugadores
	 */
    
    
  //---------------------------------------------//
  // ATRIBUTOS
  //---------------------------------------------//
    
  //---------------------------------------------//
	// CONSTRUCTOR
  //---------------------------------------------//
	
  //---------------------------------------------//
  // MTODOS DE LA INTERFAZ
  //---------------------------------------------//
  
  public String getNombre()
  {
    
    return "Dani Defensa";
  }
  
  /**
   * Devuelve la coordenada inicial X de los jugadores.
   */
  public int getXInicial(int n)
  {
    int xInicial = 0;
    // Lnea de Porteros
    if (n == 0)         // 1: portero 
      xInicial = -152;   // 0
    // Laterales
    else if ( 
        (n == 1)    // 2: lateral (derecho) 
        || 
        (n == 2)    // 3: lateral (izquierdo)
       )
    {
      xInicial = -100; 
    }
    // Centrales
    else if ( 
        (n == 3)    // 4: defensa (izquierdo)
        || 
        (n == 4)    // 5: defensa (derecho)
       )
    {
      xInicial = -120;
    }
    // Mediocentros
    else if ( 
        (n == 5)    // 6: mediocentro (derecho)
        || 
        (n == 6)    // 7: mediocentro (izquierdo)
       )
    {
      xInicial = -75;
    }
    // Medios
    else if ( 
        (n == 7)    // 8: interior (mediapunta)
        || 
        (n == 8)    // 9: interior (izquierdo)
        || 
        (n == 9)    //10: interior (izquierdo)
       )
    {
      xInicial = -40;
    }
    else if (n == 10)   //11: delantero centro
      xInicial = 100;

    return xInicial;
  }
  
  /**
   * Devuelve la coordenada inicial Y de los jugadores.
   */
  public int getYInicial(int n)
  {
    int yInicial = 0;
    // Lnea centrada
    if (n == 0)         // 1: portero 
      yInicial = 0;   // 0
    else if (n == 1)    // 2: lateral (derecho) 
      yInicial = 70;
    else if (n == 2)    // 3: lateral (izquierdo)
      yInicial = 70 * -1;
    else if (n == 3)    // 4: defensa (derecho)
      yInicial = 30;
    else if (n == 4)    // 5: defensa (izquierdo)
      yInicial = 30 * -1;
    else if (n == 5)    // 6: mediocentro (derecho)
      yInicial = 30;
    else if (n == 6)    // 7: mediocentro (izquierdo)
      yInicial = 30 * -1;
    else if (n == 7)    // 8: interior (mediapunta)
      yInicial = 0;
    else if (n == 8)    // 9: interior (izquierdo)
      yInicial = 50 * -1;
    else if (n == 9)    //10: interior (derecho) 
      yInicial = 50;
    else if (n == 10)   //11: delantero centro
      yInicial = 0;
    
    return yInicial;
  }

  //---------------------------------------------//
  // MTODOS AUXILIARES
  //---------------------------------------------//

  //---------------------------------------------//
  /**
   * Retorna los identificadores de los porteros. 
   */
  protected int[] getPortero()
  {
    int[] result = new int[1];
    result[0] = 0;
    return result;
  }
  
  //---------------------------------------------//
  /**
   * Retorna los identificadores de los defensas. 
   */
  protected int[] getDefensas()
  {
    int[] result = new int[4];
    result[0] = 1;
    result[1] = 2;
    result[2] = 3;
    result[3] = 4;
    return result;
  }
  
  //---------------------------------------------//
  /**
   * Retorna los identificadores de los medios. 
   */
  protected int[] getMedios()
  {
    int[] result = new int[5];
    result[0] = 5;
    result[1] = 6;
    result[2] = 7;
    result[3] = 8;
    result[4] = 9;
    return result;
  }
  //---------------------------------------------//
  /**
   * Retorna el identificador del medio organizador. 
   */
  protected int getMedioCentro()
  {
    return 6;
  }
  
  //---------------------------------------------//
  /**
   * Retorna los identificadores de los delanteros. 
   */
  protected int[] getDelanteros()
  {
    int[] result = new int[1];
    result[0] = 10;
    return result;
  }
  //---------------------------------------------//
  /**
   * Retorna el identificador del delantero mas adelantado. 
   */
  protected int getDelanteroCentro()
  {
    return 10;
  }

  
} // Class Tactica Dani Defensa
